﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; 
using Montana.DAC;
using System.Data;

namespace Montana.Entidades
{
    public class Cheque : Datos<Cheque>
    {
        public string Banco { get; set; }
        public DateTime Fechadeposito { get; set; }
        public int IDCliente { get; set; }
        public int IDFactura { get; set; }
        public decimal Importe { get; set; }
        public string Escontable { get; set; }

        public int IDRecibo { get; set; }

        protected override string SQLBasico
        {
            get { return @"select c.* from cheque c"; }
        }

        public void Guardar()
        {
            string sql = @"insert into cheque (nombre, banco, fechadeposito, idcliente, idfactura, importe, esContable) 
                            values (@nombre, @banco, @fechadeposito, @idcliente, @idfactura, @importe, @esContable)";

            Ejecutar(sql, this);
        }

        public List<Cheque> BuscarPorIDFactura(int idFactura)
        {
            return TraerObjetos(SQLBasico + " where idfactura=@idfactura", idFactura);
        }

        public List<Cheque> BuscarPorIDRecibo(int idRecibo)
        {
            return TraerObjetos("select * from recibocheque where idrecibo=@idrecibo", idRecibo);
        }

        public void ReporteRemito(DataSet ds, int idFactura)
        {
            DataTable dt = TraerDataSet(SQLBasico + " where c.idFactura=" + idFactura).Tables[0];

            dt.TableName = "Cheque";

            ds.Tables.Add(dt.Clone());
        }
    }
}
